// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "Widgets/Views/STableRow.h"

class SPakPlatformsView;
/**
 * 
 */
class SPakPlatformRow : public SMultiColumnTableRow<TSharedPtr<FString>>
{
public:
	SLATE_BEGIN_ARGS(SPakPlatformRow)
	{}
	SLATE_ARGUMENT(TSharedPtr<STableViewBase>, OwnerTableView)
	SLATE_ARGUMENT(TSharedPtr<FString>, PlatformName)
	SLATE_END_ARGS()

	/** Constructs this widget with InArgs */
	void Construct(const FArguments& InArgs, SPakPlatformsView* InPlatformsView);

	virtual TSharedRef<SWidget> GenerateWidgetForColumn(const FName& ColumnName) override;

protected:

	// Callback for changing the checked state of the check box.
	void HandleCheckBoxCheckStateChanged(ECheckBoxState NewState);

	// Callback for determining the checked state of the check box.
	ECheckBoxState HandleCheckBoxIsChecked() const;

protected:

	TSharedPtr<FString> PlatformName;

	SPakPlatformsView* PlatformsView;

	static const FName Col_PlatformName;
};
